import numpy as np
# import pandas as pd

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 Double Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
from math import *


def multipl(a, b):
    sumofab = 0.0
    for i in range(len(a)):
        temp = a[i] * b[i]
        sumofab += temp
    return sumofab

#计算pearson系数
def corrcoef(x, y):
    n = len(x)
    # 求和
    sum1 = sum(x)
    sum2 = sum(y)
    # 求乘积之和
    sumofxy = multipl(x, y)
    # 求平方和
    sumofx2 = sum([pow(i, 2) for i in x])
    sumofy2 = sum([pow(j, 2) for j in y])
    num = sumofxy - (float(sum1) * float(sum2) / n)
    # 计算皮尔逊相关系数
    den = sqrt((sumofx2 - float(sum1 ** 2) / n) * (sumofy2 - float(sum2 ** 2) / n))
    return num / den

# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':

    aa = np.array([2, 3, 9, 6, 8])
    bb = np.array([5, 6, 3, 73, 99])
    x=[2, 3, 9, 6, 8]
    y=[4, 6, 18, 12, 16]
    print(corrcoef(x, y))